package cn.zane.chatgpt.data.domain.auth.model.entity;

import com.thoughtworks.xstream.annotations.XStreamAlias;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * @author: zane
 * @date: 2025-09-20
 * @description: 文本消息实体
 */
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@XStreamAlias("xml")
public class MessageTextEntity {

    // 接收方账号（收到的OpenID）
    @XStreamAlias("ToUserName")
    private String toUserName;

    // 开发者微信号
    @XStreamAlias("FromUserName")
    private String fromUserName;

    // 消息创建时间 （整型）
    @XStreamAlias("CreateTime")
    private String createTime;

    // 消息类型，文本为text,事件为event
    @XStreamAlias("MsgType")
    private String msgType;

    // 回复的消息内容（换行：在content中能够换行，微信客户端就支持换行显示）
    @XStreamAlias("Content")
    private String content;

    // 消息id，64位整型
    @XStreamAlias("MsgId")
    private String msgId;

    // 消息的数据ID（消息如果来自文章时才有）
    @XStreamAlias("MsgDataId")
    private String msgDataId;

    // 多图文时第几篇文章，从1开始（消息如果来自文章时才有）
    @XStreamAlias("Idx")
    private String idx;

    // 事件类型，subscribe(订阅)、unsubscribe(取消订阅)
    @XStreamAlias("Event")
    private String event;
}
